package edu.cibertec.sicsolutions.vfs.dao.votacion.ibatis;
import java.util.List;
import java.util.Map;

import edu.cibertec.sicsolutions.exception.DaoException;
import edu.cibertec.sicsolutions.vfs.dao.votacion.EleccionesDao;
import edu.cibertec.sicsolutions.vfs.domain.votacion.Elecciones;
import edu.cibertec.sicsolutions.vfs.spring.SpringIbatisBase;

/**
 * Data Access Object Implementation of table ELECCIONES 
 * @author enrique.vargas
 *
 */
public class EleccionesDaoImpl extends SpringIbatisBase implements EleccionesDao {	

	public Elecciones getEleccionesByPk(Elecciones elecciones) throws DaoException{
		try{
			return (Elecciones)queryForObject("getEleccionesByPk", elecciones);
		} catch(Exception e){
			log.error(e.getMessage(), e);
			throw new DaoException(e.getMessage(), e);
		}		
	}
	
	public void insertElecciones(Elecciones elecciones) throws DaoException{
		try{
			insert("insertElecciones", elecciones);
		} catch(Exception e){
			log.error(e.getMessage(), e);
			throw new DaoException(e.getMessage(), e);
		}		
	}
	
	public void updateElecciones(Elecciones elecciones) throws DaoException{		
		try{
			update("updateElecciones", elecciones);
		} catch(Exception e){
			log.error(e.getMessage(), e);
			throw new DaoException(e.getMessage(), e);
		}
	}
	
	public void updateEleccionesByMap(Map map) throws DaoException{		
		try{
			update("updateEleccionesByMap", map);
		} catch(Exception e){
			log.error(e.getMessage(), e);
			throw new DaoException(e.getMessage(), e);
		}
	}
	
	public void deleteEleccionesByPk(Elecciones elecciones) throws DaoException{		
		try{
			delete("deleteEleccionesByPk", elecciones);
		} catch(Exception e){
			log.error(e.getMessage(), e);
			throw new DaoException(e.getMessage(), e);
		}
	}
	
	public Elecciones[] findEleccionesByClass(Elecciones elecciones) throws DaoException{
		try{
			List list = queryForList("findEleccionesByClass", elecciones);
			return (Elecciones[])list.toArray(new Elecciones[list.size()]);
		} catch(Exception e){
			log.error(e.getMessage(), e);
			throw new DaoException(e.getMessage(), e);
		}
	}
}